package com.ruoyi.gas.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 扩展销售记录对象 gas_sale_record
 * 
 * @author morris
 * @date 2023-12-08
 */
public class ExtSaleRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 销售记录ID */
    private Long saleRecordId;

    /** 所属经销商ID */
    @Excel(name = "所属经销商ID")
    private Long customerId;

    /** 所属经销商名 */
    @Excel(name = "所属经销商名")
    private String customerName;

    /** 卖气价格 */
    private BigDecimal salePrice;

    /** 实际卖气量(立方) */
    @Excel(name = "实际卖气量(立方)")
    private BigDecimal factAmount;

    /** 卖气数量(立方) */
    private BigDecimal amount;

    /** 卖气金额 */
    private BigDecimal saleAmount;

    /** 结算状态 '0' 未结算 '1' 已结算 */
    private String settleStatus;

    /** 结算时间 */
    private Date settleTime;

    /** 销售对象 */
    private String carInfo;

    /** 车次 */
    private String carNum;

    /** 往返公里数 */
    private String mileage;

    /** 车头耗气量 */
    private String carHeadConsume;

    /** 车头耗气量单价 */
    private BigDecimal consumeSinglePrice;

    /** 耗气金额 */
    private BigDecimal consumeAmount;

    /** 高速公路费 */
    private BigDecimal highwayAmount;

    /** 司机工资 */
    private BigDecimal driverSalary;

    /** 押运员工资 */
    private BigDecimal supercargoSalary;

    /** 其他费用 */
    private BigDecimal otherAmount;

    /** 费用总额 */
    private BigDecimal totalAmount;

    /** 亏涨量(立方) */
    private String lossIncrease;

    /** 出气价格 */
    private BigDecimal outPrice;

    /** 出气量(立方) */
    private BigDecimal outAmount;

    /** 车头号码 */
    @Excel(name = "车头号码")
    private String carHead;

    /** 车身号码 */
    @Excel(name = "车身号码")
    private String carBody;

    /** 司机ID */
    private Long driverId;

    /** 司机联系人 */
    @Excel(name = "司机联系人")
    private String driverName;

    /** 司机电话 */
    @Excel(name = "司机电话")
    private String driverTel;

    /** 到站时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "到站时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date arriveTime;

    /** 一枪编号 */
    @Excel(name = "一枪编号")
    private String firstGunNum;

    /** 二枪编号 */
    @Excel(name = "二枪编号")
    private String secondGunNum;

    /** 三枪编号 */
    @Excel(name = "三枪编号")
    private String thirdGunNum;

    /** 一枪气量 */
    @Excel(name = "一枪气量")
    private BigDecimal firstGunAmount;

    /** 二枪气量 */
    @Excel(name = "二枪气量")
    private BigDecimal secondGunAmount;

    /** 三枪气量 */
    @Excel(name = "三枪气量")
    private BigDecimal thirdGunAmount;

    /** 一枪完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "一枪完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date firstGunFinishTime;

    /** 二枪完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "二枪完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date secondGunFinishTime;

    /** 三枪完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "三枪完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date thirdGunFinishTime;

    /** 客户指定到站时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "二枪完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date customSpecArriveTime;

    /** 母站出发时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "二枪完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date goTime;

    /** 声音告警是否处理 */
    private Integer voiceAlertProc;

    /** 颜色告警是否处理 */
    private Integer colorAlertProc;
    /** 订单状态0未完成1完成 */
    private Integer saleState;

    /** 订单完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "二枪完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;

    /** 出气金额 */
    private BigDecimal outTotalAmount;

    /** 始发地 */
    @Excel(name = "始发地")
    private String departAddr;

    /** 目的地 */
    @Excel(name = "目的地")
    private String arriveAddr;

    /** 距离 */
    @Excel(name = "距离")
    private BigDecimal distance;

    /** 班长姓名 */
    private String monitorName;

    /** 商家ID */
    private Long enterpriseId;

    /** 商家名 */
    private String enterpriseName;

    /** 充装ID */
    private Long fullfillId;

    private int yellowAlert;
    private int redAlert;
    private int voiceAlert;

    public int getYellowAlert() {
        return yellowAlert;
    }

    public void setYellowAlert(int yellowAlert) {
        this.yellowAlert = yellowAlert;
    }

    public int getRedAlert() {
        return redAlert;
    }

    public void setRedAlert(int redAlert) {
        this.redAlert = redAlert;
    }

    public int getVoiceAlert() {
        return voiceAlert;
    }

    public void setVoiceAlert(int voiceAlert) {
        this.voiceAlert = voiceAlert;
    }

    public Integer getSaleState() {
        return saleState;
    }

    public void setSaleState(Integer saleState) {
        this.saleState = saleState;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public void setSaleRecordId(Long saleRecordId)
    {
        this.saleRecordId = saleRecordId;
    }

    public Long getSaleRecordId() 
    {
        return saleRecordId;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setCustomerName(String customerName) 
    {
        this.customerName = customerName;
    }

    public String getCustomerName() 
    {
        return customerName;
    }
    public void setSalePrice(BigDecimal salePrice) 
    {
        this.salePrice = salePrice;
    }

    public BigDecimal getSalePrice() 
    {
        return salePrice;
    }
    public void setFactAmount(BigDecimal factAmount) 
    {
        this.factAmount = factAmount;
    }

    public BigDecimal getFactAmount() 
    {
        return factAmount;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }
    public void setSaleAmount(BigDecimal saleAmount) 
    {
        this.saleAmount = saleAmount;
    }

    public BigDecimal getSaleAmount() 
    {
        return saleAmount;
    }
    public void setSettleStatus(String settleStatus) 
    {
        this.settleStatus = settleStatus;
    }

    public String getSettleStatus() 
    {
        return settleStatus;
    }
    public void setSettleTime(Date settleTime) 
    {
        this.settleTime = settleTime;
    }

    public Date getSettleTime() 
    {
        return settleTime;
    }
    public void setCarInfo(String carInfo) 
    {
        this.carInfo = carInfo;
    }

    public String getCarInfo() 
    {
        return carInfo;
    }
    public void setCarNum(String carNum) 
    {
        this.carNum = carNum;
    }

    public String getCarNum() 
    {
        return carNum;
    }
    public void setMileage(String mileage) 
    {
        this.mileage = mileage;
    }

    public String getMileage() 
    {
        return mileage;
    }
    public void setCarHeadConsume(String carHeadConsume) 
    {
        this.carHeadConsume = carHeadConsume;
    }

    public String getCarHeadConsume() 
    {
        return carHeadConsume;
    }
    public void setConsumeSinglePrice(BigDecimal consumeSinglePrice) 
    {
        this.consumeSinglePrice = consumeSinglePrice;
    }

    public BigDecimal getConsumeSinglePrice() 
    {
        return consumeSinglePrice;
    }
    public void setConsumeAmount(BigDecimal consumeAmount) 
    {
        this.consumeAmount = consumeAmount;
    }

    public BigDecimal getConsumeAmount() 
    {
        return consumeAmount;
    }
    public void setHighwayAmount(BigDecimal highwayAmount) 
    {
        this.highwayAmount = highwayAmount;
    }

    public BigDecimal getHighwayAmount() 
    {
        return highwayAmount;
    }
    public void setDriverSalary(BigDecimal driverSalary) 
    {
        this.driverSalary = driverSalary;
    }

    public BigDecimal getDriverSalary() 
    {
        return driverSalary;
    }
    public void setSupercargoSalary(BigDecimal supercargoSalary) 
    {
        this.supercargoSalary = supercargoSalary;
    }

    public BigDecimal getSupercargoSalary() 
    {
        return supercargoSalary;
    }
    public void setOtherAmount(BigDecimal otherAmount) 
    {
        this.otherAmount = otherAmount;
    }

    public BigDecimal getOtherAmount() 
    {
        return otherAmount;
    }
    public void setTotalAmount(BigDecimal totalAmount) 
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount() 
    {
        return totalAmount;
    }
    public void setLossIncrease(String lossIncrease) 
    {
        this.lossIncrease = lossIncrease;
    }

    public String getLossIncrease() 
    {
        return lossIncrease;
    }
    public void setOutPrice(BigDecimal outPrice) 
    {
        this.outPrice = outPrice;
    }

    public BigDecimal getOutPrice() 
    {
        return outPrice;
    }
    public void setOutAmount(BigDecimal outAmount) 
    {
        this.outAmount = outAmount;
    }

    public BigDecimal getOutAmount() 
    {
        return outAmount;
    }
    public void setCarHead(String carHead) 
    {
        this.carHead = carHead;
    }

    public String getCarHead() 
    {
        return carHead;
    }
    public void setCarBody(String carBody) 
    {
        this.carBody = carBody;
    }

    public String getCarBody() 
    {
        return carBody;
    }
    public void setDriverId(Long driverId) 
    {
        this.driverId = driverId;
    }

    public Long getDriverId() 
    {
        return driverId;
    }
    public void setDriverName(String driverName) 
    {
        this.driverName = driverName;
    }

    public String getDriverName() 
    {
        return driverName;
    }
    public void setDriverTel(String driverTel) 
    {
        this.driverTel = driverTel;
    }

    public String getDriverTel() 
    {
        return driverTel;
    }
    public void setArriveTime(Date arriveTime) 
    {
        this.arriveTime = arriveTime;
    }

    public Date getArriveTime() 
    {
        return arriveTime;
    }
    public void setFirstGunNum(String firstGunNum) 
    {
        this.firstGunNum = firstGunNum;
    }

    public String getFirstGunNum() 
    {
        return firstGunNum;
    }
    public void setSecondGunNum(String secondGunNum) 
    {
        this.secondGunNum = secondGunNum;
    }

    public String getSecondGunNum() 
    {
        return secondGunNum;
    }
    public void setThirdGunNum(String thirdGunNum) 
    {
        this.thirdGunNum = thirdGunNum;
    }

    public String getThirdGunNum() 
    {
        return thirdGunNum;
    }
    public void setFirstGunAmount(BigDecimal firstGunAmount) 
    {
        this.firstGunAmount = firstGunAmount;
    }

    public BigDecimal getFirstGunAmount() 
    {
        return firstGunAmount;
    }
    public void setSecondGunAmount(BigDecimal secondGunAmount) 
    {
        this.secondGunAmount = secondGunAmount;
    }

    public BigDecimal getSecondGunAmount() 
    {
        return secondGunAmount;
    }
    public void setThirdGunAmount(BigDecimal thirdGunAmount) 
    {
        this.thirdGunAmount = thirdGunAmount;
    }

    public BigDecimal getThirdGunAmount() 
    {
        return thirdGunAmount;
    }
    public void setFirstGunFinishTime(Date firstGunFinishTime) 
    {
        this.firstGunFinishTime = firstGunFinishTime;
    }

    public Date getFirstGunFinishTime() 
    {
        return firstGunFinishTime;
    }
    public void setSecondGunFinishTime(Date secondGunFinishTime) 
    {
        this.secondGunFinishTime = secondGunFinishTime;
    }

    public Date getSecondGunFinishTime() 
    {
        return secondGunFinishTime;
    }
    public void setThirdGunFinishTime(Date thirdGunFinishTime) 
    {
        this.thirdGunFinishTime = thirdGunFinishTime;
    }

    public Date getThirdGunFinishTime() 
    {
        return thirdGunFinishTime;
    }
    public void setCustomSpecArriveTime(Date customSpecArriveTime) 
    {
        this.customSpecArriveTime = customSpecArriveTime;
    }

    public Date getCustomSpecArriveTime() 
    {
        return customSpecArriveTime;
    }
    public void setGoTime(Date goTime) 
    {
        this.goTime = goTime;
    }

    public Date getGoTime() 
    {
        return goTime;
    }
    public void setVoiceAlertProc(Integer voiceAlertProc) 
    {
        this.voiceAlertProc = voiceAlertProc;
    }

    public Integer getVoiceAlertProc() 
    {
        return voiceAlertProc;
    }
    public void setColorAlertProc(Integer colorAlertProc) 
    {
        this.colorAlertProc = colorAlertProc;
    }

    public Integer getColorAlertProc() 
    {
        return colorAlertProc;
    }
    public void setOutTotalAmount(BigDecimal outTotalAmount) 
    {
        this.outTotalAmount = outTotalAmount;
    }

    public BigDecimal getOutTotalAmount() 
    {
        return outTotalAmount;
    }
    public void setDepartAddr(String departAddr) 
    {
        this.departAddr = departAddr;
    }

    public String getDepartAddr() 
    {
        return departAddr;
    }
    public void setArriveAddr(String arriveAddr) 
    {
        this.arriveAddr = arriveAddr;
    }

    public String getArriveAddr() 
    {
        return arriveAddr;
    }
    public void setDistance(BigDecimal distance) 
    {
        this.distance = distance;
    }

    public BigDecimal getDistance() 
    {
        return distance;
    }
    public void setMonitorName(String monitorName) 
    {
        this.monitorName = monitorName;
    }

    public String getMonitorName() 
    {
        return monitorName;
    }
    public void setEnterpriseId(Long enterpriseId) 
    {
        this.enterpriseId = enterpriseId;
    }

    public Long getEnterpriseId() 
    {
        return enterpriseId;
    }
    public void setEnterpriseName(String enterpriseName) 
    {
        this.enterpriseName = enterpriseName;
    }

    public String getEnterpriseName() 
    {
        return enterpriseName;
    }
    public void setFullfillId(Long fullfillId) 
    {
        this.fullfillId = fullfillId;
    }

    public Long getFullfillId() 
    {
        return fullfillId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("saleRecordId", getSaleRecordId())
            .append("customerId", getCustomerId())
            .append("customerName", getCustomerName())
            .append("salePrice", getSalePrice())
            .append("factAmount", getFactAmount())
            .append("amount", getAmount())
            .append("saleAmount", getSaleAmount())
            .append("settleStatus", getSettleStatus())
            .append("settleTime", getSettleTime())
            .append("carInfo", getCarInfo())
            .append("carNum", getCarNum())
            .append("mileage", getMileage())
            .append("carHeadConsume", getCarHeadConsume())
            .append("consumeSinglePrice", getConsumeSinglePrice())
            .append("consumeAmount", getConsumeAmount())
            .append("highwayAmount", getHighwayAmount())
            .append("driverSalary", getDriverSalary())
            .append("supercargoSalary", getSupercargoSalary())
            .append("otherAmount", getOtherAmount())
            .append("totalAmount", getTotalAmount())
            .append("lossIncrease", getLossIncrease())
            .append("outPrice", getOutPrice())
            .append("outAmount", getOutAmount())
            .append("carHead", getCarHead())
            .append("carBody", getCarBody())
            .append("driverId", getDriverId())
            .append("driverName", getDriverName())
            .append("driverTel", getDriverTel())
            .append("arriveTime", getArriveTime())
            .append("firstGunNum", getFirstGunNum())
            .append("secondGunNum", getSecondGunNum())
            .append("thirdGunNum", getThirdGunNum())
            .append("firstGunAmount", getFirstGunAmount())
            .append("secondGunAmount", getSecondGunAmount())
            .append("thirdGunAmount", getThirdGunAmount())
            .append("firstGunFinishTime", getFirstGunFinishTime())
            .append("secondGunFinishTime", getSecondGunFinishTime())
            .append("thirdGunFinishTime", getThirdGunFinishTime())
            .append("customSpecArriveTime", getCustomSpecArriveTime())
            .append("goTime", getGoTime())
            .append("voiceAlertProc", getVoiceAlertProc())
            .append("colorAlertProc", getColorAlertProc())
            .append("outTotalAmount", getOutTotalAmount())
            .append("departAddr", getDepartAddr())
            .append("arriveAddr", getArriveAddr())
            .append("distance", getDistance())
            .append("monitorName", getMonitorName())
            .append("enterpriseId", getEnterpriseId())
            .append("enterpriseName", getEnterpriseName())
            .append("fullfillId", getFullfillId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
